Conversation
skerbis
commented
Oct 14, 2025
- Add ClassManager.php for complete class lifecycle management
- Extend NewInstallManager and UpdateManager with class support
- Add RepositoryManager method for class status checking
- Create unified upload interface with tab navigation
- Add classes.php page for class installation and updates
- Implement class installation to project/lib/gitClasses/ structure
- Add multilingual support for class management
- Create overview page with class management documentation
- Support for class.yml metadata and README files
- Classes installed with proper directory structure and autoloading support
- Add ClassManager.php for complete class lifecycle management - Extend NewInstallManager and UpdateManager with class support - Add RepositoryManager method for class status checking - Create unified upload interface with tab navigation - Add classes.php page for class installation and updates - Implement class installation to project/lib/gitClasses/ structure - Add multilingual support for class management - Create overview page with class management documentation - Support for class.yml metadata and README files - Classes installed with proper directory structure and autoloading support
There was a problem hiding this comment.
Pull Request Overview
This PR adds comprehensive PHP class management functionality to the GitHub Installer, enabling users to install, update, and upload PHP classes from/to GitHub repositories alongside existing module and template management.
- Implements ClassManager for complete class lifecycle management including installation, updates, and uploads
- Extends existing managers (NewInstallManager, UpdateManager, RepositoryManager) with class support
- Adds unified upload interface with tab navigation supporting modules, templates, and classes
- Creates standardized directory structure
project/lib/gitClasses/ClassName/for class installations
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| pages/upload.php | Adds class upload functionality with repository selection and tab navigation |
| pages/overview.php | Creates new overview dashboard with class management documentation |
| pages/classes.php | Minor fix to action button variable name consistency |
| package.yml | Adds overview page to navigation structure |
| lib/UpdateManager.php | Standardizes class installation path to gitClasses subdirectory |
| lib/RepositoryManager.php | Updates class status checking for new directory structure |
| lib/NewInstallManager.php | Standardizes class installation path to gitClasses subdirectory |
| lib/GitHubApi.php | Adds uploadFile alias method for consistency |
| lib/ClassManager.php | New comprehensive class management system |
| lang/en_gb.lang | Adds English translations for class management features |
| lang/de_de.lang | Adds German translations for class management features |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| } else { | ||
| try { | ||
| if (!isset($repositories[$targetRepo])) { | ||
| throw new Exception('Repository nicht gefunden'); |
There was a problem hiding this comment.
Hard-coded German error message should use internationalization. Consider using $addon->i18n('repository_not_found') to maintain consistency with the rest of the codebase.
| } else { | ||
| try { | ||
| if (!isset($repositories[$targetRepo])) { | ||
| throw new Exception('Repository nicht gefunden'); |
There was a problem hiding this comment.
Hard-coded German error message should use internationalization. Consider using $addon->i18n('repository_not_found') to maintain consistency with the rest of the codebase.
| throw new Exception('Repository nicht gefunden'); | |
| throw new Exception($addon->i18n('repository_not_found')); |
| updateClassHandler($(this)); | ||
| }); | ||
|
|
||
|
|
There was a problem hiding this comment.
[nitpick] Extra empty line should be removed to improve code readability.
|
|
||
|
|
||
| /** | ||
| * Alle lokalen Klassen abrufen | ||
| */ |
There was a problem hiding this comment.
[nitpick] Extra empty lines should be removed to improve code consistency.
| /** | |
| * Alle lokalen Klassen abrufen | |
| */ | |
| /** | |
| * Alle lokalen Klassen abrufen | |
| */ | |
| */ |